﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace Vit.Common.Providers
{
    public interface ILocalizationProvider : IProvider
    {
        void Initialize();
        void ReleaseAllResources();

        string GetString(string assemblyName, string resourceName);
        string GetString<T>(string resourceName);
        string GetString(object obj, string resourceName);
        string GetString(Type type, string resourceName);

        string GetString(string assemblyName, string resourceName, string cultureInfo);
        string GetString<T>(string resourceName, string cultureInfo);
        string GetString(object obj, string resourceName, string cultureInfo);
        string GetString(Type type, string resourceName, string cultureInfo);

        void SetString(string assemblyName, string resourceName, string cultureInfo, string value);
        void Save();

        bool SupportRuntimeResourceManagement { get; }
    }
}
